package com.quectel.cms.interceptor;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Set;

/**
 * 在这里编写说明
 *
 * @author: CL
 * @email: louis.cao@quectel.com
 * @date: 2019-03-01 9:15:00
 */
@Data
@Schema
public class LoginUserSession {

    @Schema(description = "公众号平台类型 不返回前端")
    @JsonIgnore
    private Byte officialAccountsType;

    @Schema(description = "appId信息 只有公众号登录才存在 不返回前端")
    @JsonIgnore
    private String appId;

    @Schema(description = "用户在当前appId下的唯一身份信息 不返回前端")
    @JsonIgnore
    private String openId;

    private String token;

    /*人员相关 start*/

    private Long userId;
    /**
     * 用户名
     */
    private String username;
    /**
     * 账号
     */
    private String account;
    /*人员相关 end*/

    /*组相关 start*/
    /**
     * 组id
     */
    private Long groupId;
    /**
     * 组code
     */
    private String groupCode;
    /**
     * 组名称
     */
    private String groupName;
    /*组相关 end*/


    /*租户相关 start*/
    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 租户code
     */
    private String tenantCode;
    /**
     * 租户缩略logo链接
     */
    private String logo;
    /**
     * 租户logo链接
     */
    private String logoBig;
    /**
     * 路径地址
     */
    private String screenUrl;
    /*租户相关 end*/

    /*党组织相关 start*/
    /**
     * 是否党组织管理 0否 1是
     */
    private Byte isPartyManager;
    /**
     * 管理党组织id
     */
    private Long partyId;
    /*党组织相关 end*/

    /**
     * 用户的角色
     */
    private Set<String> userRoles;
    /**
     * 用户的权限
     */
    private Set<String> permissions;
}
